home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #2
/
Monster Media No. 2 (Monster Media)(1994).ISO
/
pcboard
/
bcmx120.zip
/
SYSOP.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-07-11
|
13KB
|
890 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
Boolean BOOLEAN003
Boolean BOOLEAN004
Boolean BOOLEAN005
Boolean BOOLEAN006
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
Integer INTEGER011
Integer INTEGER012
Integer INTEGER013
Integer INTEGER014
Integer INTEGER015
Integer INTEGER016
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String TSTRING006(1)
String STRING007
String TSTRING008(100)
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String STRING015
String STRING016
String STRING017
String STRING018
String TSTRING019(6)
Int INT001
Int INT002
Int INT003
Int INT004
Int INT005
Int INT006
Int INT007
Int INT008
Int INT009
Int INT010
Int INT011
Int INT012
Int INT013
BigStr BIGSTR001
;------------------------------------------------------------------------------
BOOLEAN005 = 0
STRING009 = PPEPath() + "graph\systext"
If (LangExt() <> "") Then
If (Exist(STRING009 + LangExt())) STRING009 = STRING009 + LangExt()
Endif
GetUser
STRING010 = PPEPath() + "sysop.cfg"
STRING013 = PPEPath() + "mx.cfg"
STRING011 = PPEPath() + "work\systmp." + String(PcbNode())
Tokenize ReadLine(STRING010, 1)
STRING005 = GetToken()
STRING005 = GetToken()
If (Upper(STRING005) == "YES") Then
BOOLEAN005 = 1
Else
BOOLEAN005 = 0
Endif
STRING001 = PPEPath() + "\work\mxlog." + String(PcbNode())
If (BOOLEAN005) Then
If (LoggedOn()) Goto LABEL001
If (Exist(STRING013)) Then
If (Upper(ReadLine(STRING013, 3)) == "YES") Then
FAppend 3, STRING001, 1, 0
Goto LABEL001
Endif
BOOLEAN005 = 0
Endif
Endif
:LABEL001
If (BOOLEAN005) Then
STRING002 = "SYSOP_MODULE started at " + String(Time())
Gosub LABEL020
Endif
If (U_Sec < SysopSec()) Then
DefColor
Cls
PrintLn ReadLine(STRING009, 14)
Wait
STRING002 = "Not enough security, exiting sysop ppe"
Gosub LABEL020
End
Endif
INT013 = 14
Redim TSTRING006, INT013
TSTRING006(1) = "SYSTEM PASSWORD : "
TSTRING006(2) = "NEW USER PASSWORD : "
TSTRING006(3) = "DO LOGGING ? "
TSTRING006(4) = "# OF WELCOME FILES: "
TSTRING006(5) = "NEW USER SECURITY : "
TSTRING006(6) = "RETRIES : "
TSTRING006(7) = "SHOW DISCLAIMER ? "
TSTRING006(8) = "MATRIX TYPE : "
TSTRING006(9) = "ALLOW MATRIX PAGE ? "
TSTRING006(10) = "PAGE FILE : "
TSTRING006(11) = "TIME ADJUSTMENTS : "
TSTRING006(12) = "LOGON RETRIES(ETC): "
TSTRING006(13) = "LOGOFF FILES, QUES: "
TSTRING006(14) = "SHOW VOTE STATUS : "
INT001 = 1
INT002 = 2
INT003 = 3
INT004 = 4
INT005 = 5
INT006 = 6
INT007 = 7
INT008 = 8
INT009 = 9
INT010 = 10
INT011 = 11
INT012 = 12
BOOLEAN006 = 1
STRING015 = Chr(13)
DefColor
Cls
Tokenize ReadLine(STRING010, 1)
STRING005 = GetToken()
If (Upper(STRING005) == "YES") Then
If (Exist(PPEPath() + "graph\syshdr")) Then
DispFile PPEPath() + "graph\syshdr", 1 + 4
Newline
Endif
STRING018 = ""
STRING007 = Upper(ReadLine(STRING010, 2))
InputStr ReadLine(STRING009, 12) + "_", STRING018, 1, 60, Mask_Ascii(), 2 + 1
Newline
If (STRING018 == "") Then
If (BOOLEAN005) Then
STRING002 = "No sysop password entered"
Gosub LABEL020
Endif
PrintLn ReadLine(STRING009, 13)
Wait
End
Endif
If (Upper(STRING018) <> STRING007) Then
If (BOOLEAN005) Then
STRING002 = "Incorrect sysop password entered"
Gosub LABEL020
Endif
PrintLn ReadLine(STRING009, 13)
Wait
End
Endif
Endif
Goto LABEL004
:LABEL002
DefColor
Cls
StartDisp 1
DispFile STRING017, 1 + 4
For INTEGER016 = 1 To INTEGER015
TSTRING019(INTEGER016) = ScrText(INTEGER009, INTEGER010 + INTEGER016 - 1, INTEGER011, 1)
Next
INTEGER012 = 1
INTEGER013 = INTEGER009
INTEGER014 = INTEGER010
If (BOOLEAN006) Then
For INTEGER016 = 1 To INTEGER015
AnsiPos INTEGER013, INTEGER014 + INTEGER016 - 1
Print TSTRING019(INTEGER016)
Next
Endif
AnsiPos INTEGER013, INTEGER014 + INTEGER012 - 1
Print STRING016, StripAtx(TSTRING019(INTEGER012))
:LABEL003
STRING018 = ""
STRING018 = Inkey()
If (((Upper(STRING018) == "A") || (STRING018 == "UP")) || (STRING018 == "LEFT")) Then
AnsiPos INTEGER013, INTEGER014 + INTEGER012 - 1
Print TSTRING019(INTEGER012)
If (INTEGER012 == 1) Then
INTEGER012 = INTEGER015
Else
INTEGER012 = INTEGER012 - 1
Endif
AnsiPos INTEGER013, INTEGER014 + INTEGER012 - 1
Print STRING016, StripAtx(TSTRING019(INTEGER012))
Goto LABEL003
ElseIf (((Upper(STRING018) == "Z") || (STRING018 == "DOWN")) || (STRING018 == "RIGHT")) Then
AnsiPos INTEGER013, INTEGER014 + INTEGER012 - 1
Print TSTRING019(INTEGER012)
If (INTEGER012 == INTEGER015) Then
INTEGER012 = 1
Else
INTEGER012 = INTEGER012 + 1
Endif
AnsiPos INTEGER013, INTEGER014 + INTEGER012 - 1
Print STRING016, StripAtx(TSTRING019(INTEGER012))
Goto LABEL003
ElseIf ((STRING018 == STRING015) || ((STRING018 >= "1") && (STRING018 <= String(INTEGER015)))) Then
If (STRING018 <> STRING015) Then
INTEGER012 = STRING018
Endif
Return
Else
Goto LABEL003
Endif
End
:LABEL004
STRING017 = PPEPath() + "graph\sysmain"
INTEGER015 = 4
Tokenize ReadLine(STRING010, 3)
INTEGER009 = GetToken()
INTEGER010 = GetToken()
INTEGER011 = GetToken()
STRING016 = GetToken()
:LABEL005
Gosub LABEL002
Select Case (INTEGER012)
Case 1
If (BOOLEAN005) Then
STRING002 = "Password menu selected at " + String(Time())
Gosub LABEL020
Endif
Gosub LABEL006
Goto LABEL004
Case 2
If (BOOLEAN005) Then
STRING002 = "Logs menu selected at " + String(Time())
Gosub LABEL020
Endif
Gosub LABEL013
Goto LABEL004
Case 3
If (BOOLEAN005) Then
STRING002 = "Configuration view menu selected at " + String(Time())
Gosub LABEL020
Endif
Gosub LABEL019
Goto LABEL004
Case 4
If (BOOLEAN005) Then
STRING002 = "Quit selected, exiting at " + String(Time())
Gosub LABEL020
Endif
DefColor
Cls
End
End Select
Goto LABEL005
:LABEL006
DefColor
Cls
STRING017 = PPEPath() + "graph\syschg"
INTEGER015 = 5
Tokenize ReadLine(STRING010, 4)
INTEGER009 = GetToken()
INTEGER010 = GetToken()
INTEGER011 = GetToken()
STRING016 = GetToken()
:LABEL007
Gosub LABEL002
Select Case (INTEGER012)
Case 1
If (BOOLEAN005) Then
STRING002 = "Change system pwd selected at " + String(Time())
Gosub LABEL020
Endif
DefColor
Cls
PrintLn ReadLine(STRING009, 1), Upper(ReadLine(STRING013, INT001))
Newline
INTEGER008 = INT001
STRING014 = ReadLine(STRING009, 2)
Gosub LABEL010
Goto LABEL006
Case 2
If (BOOLEAN005) Then
STRING002 = "Change nup selected at " + String(Time())
Gosub LABEL020
Endif
DefColor
Cls
PrintLn ReadLine(STRING009, 3) + Upper(ReadLine(STRING013, INT002))
Newline
INTEGER008 = INT002
STRING014 = ReadLine(STRING009, 4)
Gosub LABEL010
Goto LABEL006
Case 3
If (BOOLEAN005) Then
STRING002 = "Change matrix type selected at " + String(Time())
Gosub LABEL020
Endif
DefColor
Cls
PrintLn ReadLine(STRING009, 5) + Upper(ReadLine(STRING013, INT008))
Newline
:LABEL008
STRING018 = ""
InputStr ReadLine(STRING009, 6) + "_", STRING018, 1, 60, Mask_Ascii(), 2
Newline
If (STRING018 == "") Then
If (BOOLEAN005) Then
STRING002 = "Change matrix type aborted"
Gosub LABEL020
Endif
Goto LABEL006
Endif
If (((Upper(STRING018) <> "DOS") && (Upper(STRING018) <> "LIGHTBAR")) && (Upper(STRING018) <> "RANDOM")) Then
If (BOOLEAN005) Then
STRING002 = "Wrong matrix type (" + Upper(STRING018) + ") entered"
Gosub LABEL020
Endif
Goto LABEL008
Endif
If (BOOLEAN005) Then
STRING002 = "New matrix type (" + Upper(STRING018) + ") entered"
Gosub LABEL020
Endif
FClose -1
FCreate 1, STRING011, 1, 0
FOpen 2, STRING013, 0, 0
If (Ferr(2)) Then
If (BOOLEAN005) Then
STRING002 = "Could not open mx.cfg for reading"
Gosub LABEL020
Endif
PrintLn "ERROR opening mx.cfg for reading"
FClose 1
Delete STRING011
Goto LABEL006
Endif
INTEGER016 = 1
FGet 2, STRING012
While (1) Do
If (INTEGER016 == INT008) Then
FPutLn 1, Upper(STRING018)
Else
FPutLn 1, STRING012
Endif
Inc INTEGER016
FGet 2, STRING012
If (Ferr(2)) Break
EndWhile
FClose 1
FClose 2
Gosub LABEL012
If (BOOLEAN005) Then
STRING002 = "Matrix type succesfully updated to (" + Upper(STRING018) + ")"
Gosub LABEL020
Endif
Case 4
If (BOOLEAN005) Then
STRING002 = "Change user sec selected at " + String(Time())
Gosub LABEL020
Endif
DefColor
Cls
PrintLn ReadLine(STRING009, 7), Upper(ReadLine(STRING013, INT005))
Newline
:LABEL009
STRING018 = ""
InputStr ReadLine(STRING009, 8) + "_", STRING018, 1, 3, Mask_Num(), 2
Newline
If (STRING018 == "") Then
If (BOOLEAN005) Then
STRING002 = "No new user security entered, aborting"
Gosub LABEL020
Endif
Goto LABEL006
Return
Endif
If ((ToInteger(STRING018) < 0) || (ToInteger(STRING018) > 255)) Then
If (BOOLEAN005) Then
STRING002 = "Incorrect security entered"
Gosub LABEL020
Endif
Goto LABEL009
Endif
If (BOOLEAN005) Then
STRING002 = "New new user sec (" + String(STRING018) + ") entered"
Gosub LABEL020
Endif
FCreate 1, STRING011, 1, 0
FOpen 2, STRING013, 0, 0
If (Ferr(2)) Then
If (BOOLEAN005) Then
STRING002 = "Could not open mx.cfg for reading"
Gosub LABEL020
Endif
PrintLn "Cannot open mx.cfg for reading"
FClose 1
Delete STRING011
Goto LABEL006
Endif
INTEGER016 = 1
FGet 2, STRING012
While (1) Do
If (INTEGER016 == INT005) Then
FPutLn 1, Upper(STRING018)
Else
FPutLn 1, STRING012
Endif
Inc INTEGER016
FGet 2, STRING012
If (Ferr(2)) Break
EndWhile
FClose 1
FClose 2
FClose -1
Gosub LABEL012
If (BOOLEAN005) Then
STRING002 = "New new user sec (" + String(STRING018) + ") updated"
Gosub LABEL020
Endif
Case 5
Return
End Select
Goto LABEL007
:LABEL010
STRING018 = ""
If (Exist(STRING013)) Goto LABEL011
If (BOOLEAN005) Then
STRING002 = "mx.cfg not found, aborting password change"
Gosub LABEL020
Endif
PrintLn "Fatal error, matrix configuration file not found"
Wait
Return
:LABEL011
InputStr STRING014 + "_", STRING018, 1, 60, Mask_Ascii(), 2
If (STRING018 == "") Then
If (BOOLEAN005) Then
STRING002 = "No password entered, aborting password change"
Gosub LABEL020
Endif
Return
Endif
If (BOOLEAN005) Then
STRING002 = "New password (" + Upper(STRING014) + ") entered"
Gosub LABEL020
Endif
FCreate 1, STRING011, 1, 0
FOpen 2, STRING013, 0, 0
If (Ferr(2)) Then
If (BOOLEAN005) Then
STRING002 = "Could not open mx.cfg for reading"
Gosub LABEL020
Endif
PrintLn "Cannot open mxcfg for reading"
FClose 1
Delete STRING011
Return
Endif
INTEGER016 = 1
FClose -1
FGet 2, STRING012
While (1) Do
If (INTEGER016 == INTEGER008) Then
FPutLn 1, Upper(STRING018)
Else
FPutLn 1, STRING012
Endif
Inc INTEGER016
FGet 2, STRING012
If (Ferr(2)) Break
EndWhile
FClose 1
FClose 2
Gosub LABEL012
If (BOOLEAN005) Then
STRING002 = "Password changed to (" + Upper(STRING018) + ")"
Gosub LABEL020
Endif
Return
:LABEL012
FOpen 1, STRING011, 0, 0
FCreate 2, STRING013, 1, 3
If (Ferr(2)) Then
If (BOOLEAN005) Then
STRING002 = "Could not recreate mx.cfg"
Gosub LABEL020
Endif
PrintLn "Cannot recreate mx.cfg for writing, file is probably open"
PrintLn "By some other util, try again after closing that util"
Wait
Return
Endif
While (1) Do
FRead 1, BIGSTR001, 512
If (Ferr(1)) Then
FWrite 2, BIGSTR001, Len(BIGSTR001)
Break
Endif
FWrite 2, BIGSTR001, 512
EndWhile
FClose 1
FClose 2
Delete STRING011
Return
:LABEL013
StartDisp 2
DefColor
Cls
STRING001 = PPEPath() + "work\mxlog." + String(PcbNode())
INTEGER001 = 1
STRING018 = ""
InputStr ReadLine(STRING009, 9), STRING018, 1, 1, "vVSsDd", 2
Newline
If (STRING018 == "") Then
Return
Else
Select Case (Upper(STRING018))
Case "V"
Gosub LABEL014
Case "S"
Gosub LABEL015
Case "D"
Gosub LABEL018
Endif
End Select
Return
:LABEL014
If (BOOLEAN005) Then
STRING002 = "View log selected at"
Gosub LABEL020
Endif
While (1) Do
STRING002 = ReadLine(STRING001, INTEGER001)
If (STRING002 == "") Break
If (Abort()) Break
STRING003 = Left(STRING002, 1)
If (STRING003 == "*") Then
PrintLn "@X0D", STRING002
ElseIf (STRING003 <> " ") Then
PrintLn "@X0F", STRING002
Else
STRING004 = Upper(Mid(STRING002, 5, 3))
Select Case (STRING004)
Case "EXC"
PrintLn "@X0C", STRING002
Case "MAT"
PrintLn "@X03", STRING002
Case "NO "
PrintLn "@X04", STRING002
Case Else
PrintLn "@X0E", STRING002
Endif
End Select
Inc INTEGER001
EndWhile
Wait
Return
:LABEL015
If (BOOLEAN005) Then
STRING002 = "Search log selected at"
Gosub LABEL020
Endif
STRING018 = ""
InputStr ReadLine(STRING009, 10) + "_", STRING018, 1, 60, Mask_Ascii(), 2
If (STRING018 == "") Return
If (BOOLEAN005) Then
STRING002 = "Searching (" + Upper(String(STRING018)) + ")"
Gosub LABEL020
Endif
Newline
SearchInit STRING018, 0
INTEGER006 = 1
INTEGER007 = 1
FClose -1
FOpen 1, STRING001, 0, 0
BOOLEAN001 = 0
Goto LABEL016
BIGSTR001 = ""
BOOLEAN003 = 0
While (1) Do
INTEGER004 = INTEGER006
FRead 1, BIGSTR001, 512
If (Ferr(1)) Then
BOOLEAN003 = 1
INTEGER006 = INTEGER006 + Len(BIGSTR001)
Else
INTEGER006 = INTEGER006 + 512
While (1) Do
FGet 1, STRING002
BIGSTR001 = BIGSTR001 + STRING002
If (STRING002 == "") Break
INTEGER006 = INTEGER006 + Len(STRING002) + 2
STRING003 = ""
STRING003 = Left(STRING002, 1)
If (STRING003 == "*") Then
Break
Endif
If (Ferr(1)) Break
EndWhile
Endif
INTEGER005 = INTEGER006
SearchFind BIGSTR001, BOOLEAN001
If (BOOLEAN001) Then
INTEGER006 = INTEGER007
INTEGER007 = INTEGER007
FSeek 1, INTEGER004, 0
While (1) Do
FGet 1, STRING002
INTEGER006 = INTEGER006 + Len(STRING002) + 2
STRING003 = Left(STRING002, 1)
If (STRING003 == "*") Then
INTEGER007 = INTEGER006
Endif
If (STRING002 == "") Then
BOOLEAN003 = 1
Break
Endif
SearchFind STRING002, BOOLEAN001
If (BOOLEAN001) Gosub LABEL017
If (Ferr(1)) Then
BOOLEAN003 = 1
Break
Endif
If (INTEGER006 >= INTEGER005) Break
EndWhile
If (BOOLEAN003) Break
FSeek 1, INTEGER005, 0
Endif
If (BOOLEAN003) Break
If (Ferr(1)) Break
EndWhile
FClose 1
Wait
Return
BIGSTR001 = ""
BOOLEAN002 = 0
BOOLEAN004 = 0
FGet 1, TSTRING008(1)
If (TSTRING008(1) == "") Then
PrintLn "NO ENTRY READ"
BOOLEAN002 = 1
Return
Endif
BIGSTR001 = BIGSTR001 + TSTRING008(1)
STRING003 = Left(TSTRING008(1), 1)
INTEGER003 = 1
For INTEGER016 = 2 To 100
FGet 1, TSTRING008(INTEGER016)
BIGSTR001 = BIGSTR001 + TSTRING008(INTEGER016)
STRING003 = Left(TSTRING008(INTEGER016), 1)
Inc INTEGER003
If (STRING003 <> " ") Then
PrintLn "ENTRY READ"
BOOLEAN004 = 1
Break
Endif
If (Ferr(1)) Break
Next
Return
:LABEL016
While (1) Do
STRING002 = ""
FGet 1, STRING002
If (STRING002 == "") Break
If (Abort()) Break
STRING003 = ""
STRING003 = Left(STRING002, 1)
INTEGER006 = INTEGER006 + Len(STRING002) + 2
If (STRING003 == "*") Then
INTEGER007 = INTEGER006
Endif
SearchFind STRING002, BOOLEAN001
If (BOOLEAN001) Gosub LABEL017
EndWhile
FClose 1
Wait
StartDisp 1
Return
:LABEL017
INTEGER002 = 0
INTEGER006 = INTEGER007
FSeek 1, INTEGER007, 0
While (1) Do
STRING002 = ""
FGet 1, STRING002
If (STRING002 == "") Break
INTEGER006 = INTEGER006 + Len(STRING002) + 2
STRING003 = Left(STRING002, 1)
If (STRING003 == "*") Then
INTEGER007 = INTEGER006
PrintLn "@X0D", STRING002
Break
Continue
Endif
If (STRING003 <> " ") Then
Print "@X0F"
PrFoundLn STRING002
Continue
Endif
STRING004 = Upper(Mid(STRING002, 5, 3))
If (STRING004 == "EXC") Then
Print "@X0C"
PrFoundLn STRING002
Continue
Endif
If (STRING004 == "MAT") Then
Print "@X03"
PrFoundLn STRING002
Continue
Endif
If (STRING004 == "NO ") Then
Print "@X04"
PrFoundLn STRING002
Continue
Endif
Print "@X0E"
PrFoundLn STRING002
EndWhile
Return
:LABEL018
If (BOOLEAN005) Then
STRING002 = "Delete log selected"
Gosub LABEL020
Endif
STRING018 = NoChar()
InputYN ReadLine(STRING009, 11) + " (mxlog." + String(PcbNode()) + ")", STRING018, 1
If (STRING018 == "") Return
If (Upper(STRING018) == Upper(NoChar())) Then
If (BOOLEAN005) Then
STRING002 = "Delete log aborted"
Gosub LABEL020
Endif
Return
Endif
If (Upper(STRING018) == Upper(YesChar())) Then
FClose -1
Delete STRING001
If (BOOLEAN005) Then
STRING002 = "Log deleted"
Gosub LABEL020
Endif
Endif
Return
:LABEL019
DefColor
Cls
StartDisp 2
For INTEGER016 = 1 To INT013
PrintLn "@X0F", TSTRING006(INTEGER016), "@X0D", ReadLine(STRING013, INTEGER016)
If (Abort()) Return
Next
Wait
Return
:LABEL020
If (LoggedOn()) Goto LABEL021
FPutLn 3, " " + STRING002
Return
:LABEL021
Log STRING002, 0
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 5 End
; 11 Cls
; 9 Wait
; 198 Goto
; 170 Let
; 11 Print
; 23 PrintLn
; 135 If
; 2 DispFile
; 4 FCreate
; 5 FOpen
; 1 FAppend
; 18 FClose
; 12 FGet
; 7 FPutLn
; 4 StartDisp
; 1 GetUser
; 11 DefColor
; 5 Delete
; 1 Log
; 6 InputStr
; 1 InputYN
; 49 Gosub
; 25 Return
; 5 Inc
; 10 Newline
; 4 Tokenize
; 6 AnsiPos
; 3 FSeek
; 2 FRead
; 2 FWrite
; 1 Redim
; 1 SearchInit
; 3 SearchFind
; 5 PrFoundLn
;
;
; ■ Functions used :
;
; 5 -
; 79 +
; 8 -
; 53 ==
; 9 <>
; 6 <
; 5 <=
; 1 >
; 10 >=
; 114 !
; 11 &&
; 10 ||
; 6 Len(
; 32 Upper()
; 2 Mid()
; 7 Left()
; 13 Ferr()
; 1 Chr()
; 3 Abort()
; 9 Time()
; 2 NoChar()
; 1 YesChar()
; 3 StripAtx()
; 1 Inkey()
; 17 String()
; 1 Mask_Num()
; 4 Mask_Ascii()
; 10 PPEPath()
; 4 PcbNode()
; 27 ReadLine()
; 1 SysopSec()
; 11 GetToken()
; 4 Exist()
; 3 LangExt()
; 2 LoggedOn()
; 1 ScrText()
; 2 ToInteger()
;
;------------------------------------------------------------------------------
;
; Analysis flags : s
;
; s - Sysop level access ■ 5
; Program is reading the sysop access level, this may be normal
; but still it is very suspect. It is the best way to give a user
; all priviledges. Check!
; ■ Search for : SYSOPSEC()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 4 For/Next
; 10 While/EndWhile
; 82 If/Then or If/Then/Else
; 4 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------